home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 6: Level 6 / 17 Bit - Level 6 (1998)(Epic Marketing)[!].iso / quartz / q0498.dms / q0498.adf / DGEN-BOOT < prev    next >
Text File  |  1992-06-07  |  4KB  |  172 lines

  1. curdsk=1
  2. colour=1
  3. yyval=12
  4. skipdel=0
  5.  
  6. cpytitl:dc.b "Lockpick Fast Copier Request",0
  7. cpyques:dc.b "Do you need a copy of the original?",0
  8. copyrst:dc.b "Proceeding with Fast Copy of remaining disks...",0
  9.  
  10. nxtdskm:dc.b "Copy disk "
  11. dskm1:    dc.b "00 of "
  12. dskm2:    dc.b "00?",0
  13.  
  14. docopy=simplereq(cpytitl,cpyques)
  15. cmp docopy,0,0,goto start
  16. connect=drives()
  17. cmp connect,-1,0,goto byebye
  18. poke(remdsk+19,connect+48)
  19. poke(insdsk2+6,connect+48)
  20. drivenum=fcopy(connect,1)
  21. cmp drivenum,0,-1,goto byebye
  22.  
  23. pnf:    dc.b "Protection not found!",0
  24. pnf2:    dc.b "*** PARAMETER FAILED! ***",0
  25. worktxt:dc.b "Working, please stand by...",0
  26.  
  27. prof:    dc.b "*** Parameter Successful! ***",0
  28. remdsk:    dc.b "Remove disk from DF0: then click in this window...",0
  29.  
  30. insdsk:    dc.b "Insert BACKUP of",0
  31. insdsk2:dc.b " in DF0: then click in this window...",0
  32.  
  33.     dc.w 0
  34. oritab:    dc.l orig1,fix1,orig2,fix2,orig3,fix3,orig4,fix4,orig5,fix5
  35.     dc.l orig6,fix6,orig7,fix7,orig8,fix8,orig9,fix9
  36.     dc.l orig10,fix10,orig11,fix11,orig12,fix12,orig13,fix13
  37.     dc.l orig14,fix14,orig15,fix15,orig16,fix16,orig17,fix17
  38.     dc.l orig18,fix18,orig19,fix19,orig20,fix20,orig21,fix21
  39.     dc.l orig22,fix22,orig23,fix23,orig24,fix24,orig25,fix25
  40.     dc.l orig26,fix26,orig27,fix27,orig28,fix28,orig29,fix29
  41.     dc.l orig30,fix30,orig31,fix31,orig32,fix32,orig33,fix33
  42.     dc.l orig34,fix34,orig35,fix35,orig36,fix36,orig37,fix37
  43.     dc.l orig38,fix38,orig39,fix39,orig40,fix40,orig41,fix41
  44.     dc.l orig42,fix42,orig43,fix43,orig44,fix44,orig45,fix45
  45.     dc.l 0,0
  46.  
  47. * Open Window and print intro text...
  48. start:    validate(drivenum,1)
  49.     cmp ^winname,"con:",0,winname=winname+18
  50.     pokel(wtitle,winname)
  51.     gosub openwin
  52.     cmp docopy,1,0,goto main
  53.  
  54.     gosub remm
  55.  
  56.     txtptr=insdsk
  57.     gosub print3d
  58.     colour=3
  59.     txtptr=dname
  60.     gosub print3d
  61.     colour=1
  62.     txtptr=insdsk2
  63.     gosub print3d
  64.  
  65.     gosub waitsgn
  66.     cmp class,$200000,2,goto chkclow
  67.     cmp code,$1b,0,goto remprta
  68. chkclow:cmp class,$200,0,goto remprta
  69.     skipdel=1
  70.  
  71. main:    txtptr=worktxt
  72.     gosub print3d
  73.  
  74.     cmp skipdel,0,2,goto begit
  75.     delay(100)
  76.  
  77. begit:    blklen=winname-xcopy&$fffffe00
  78.     xboot=allocmem(blklen,2)
  79.     memmove(xboot,xcopy,blklen)
  80.     ret=trackdisk(drivenum,3,0,xboot,blklen)
  81.     ret=trackdisk(drivenum,4,0,0,0)
  82.     freemem(xboot,blklen)
  83.     pos=0
  84.     pointer=oritab
  85.  
  86. looper:    orig=^pointer
  87.     pointer=pointer+4
  88.     fix=^pointer
  89.     pointer=pointer+4
  90.     pval=^pointer
  91.     cmp pval,0,0,top=garbage
  92.     cmp pval,0,2,top=pval
  93.  
  94. * Scan file for our string and replace if found...
  95.     pos=dscan(0,orig,fix-orig,fix,top-fix,pos,hfix)
  96.     cmp pos,-2,0,goto errpnf
  97.  
  98.     cmp pval,0,2,goto looper
  99.  
  100.     txtptr=prof
  101.     gosub print3d
  102.  
  103.     delay(100)
  104.     cmp note1,0,0,goto ky1
  105.     colour=3
  106.     txtptr=note1
  107.     gosub print3d
  108.     cmp note2,0,0,goto ky1
  109.     txtptr=note2
  110.     gosub print3d
  111.     cmp note3,0,0,goto ky1
  112.     txtptr=note3
  113.     gosub print3d
  114.  
  115. ky1:    colour=1
  116.     yyval=yyval+10
  117.     txtptr=remdsk
  118.     gosub print3d
  119. ky2:    gosub remm
  120.     gosub waitsgn
  121.     cmp mess,0,0,goto ky2
  122.  
  123.     cmp numdsk,2,-1,goto bye0
  124.     yyval=yyval+10
  125.     txtptr=copyrst
  126.     gosub print3d
  127.     delay(50)
  128.  
  129. ky3:    curdsk=curdsk+1
  130.     cmp curdsk,numdsk,1,goto bye0
  131.     
  132.     tensv=curdsk/10&$ffff
  133.     onesv=tensv*10
  134.     onesv=curdsk-onesv
  135.     poke(dskm1,tensv+48)
  136.     poke(dskm1+1,onesv+48)
  137.  
  138.     tensv=numdsk/10&$ffff
  139.     onesv=tensv*10
  140.     onesv=numdsk-onesv
  141.     poke(dskm2,tensv+48)
  142.     poke(dskm2+1,onesv+48)
  143.  
  144.     docopy=simplereq(cpytitl,nxtdskm)
  145.     cmp docopy,1,-1,goto bye0
  146.     drivenum=fcopy(-1)
  147.     cmp drivenum,0,-1,goto bye0
  148.     goto ky3
  149.  
  150. keyout:    gosub remm
  151.     gosub waitsgn
  152.     cmp mess,0,0,goto keyout
  153. bye0:    gosub closwin
  154. byebye:    validate(drivenum,0)
  155.     end
  156.  
  157. errpnf:    txtptr=pnf
  158.     gosub print3d
  159.     goto prii5a
  160.  
  161. remprt:    delay(150)
  162. remprta:yyval=yyval+10
  163.     txtptr=remdsk
  164.     gosub print3d
  165.     goto keyout
  166.  
  167. prii5a:    txtptr=pnf2
  168.     gosub print3d
  169.     goto remprt
  170.  
  171. #i "Params:WINHAND"
  172.